.TH PLASMAC "9" "2020-08-11" "LinuxCNC Documentation" "HAL Component"
.de TQ
.br
.ns
.TP \\$1
..

.SH NAME

plasmac \- A plasma cutter controller
.SH SYNOPSIS
.HP
.B loadrt plasmac
.SH DESCRIPTION



A plasma cutting table control component for use with the LinuxCNC V2.8 or later.

.I VERSION:
.br
0.159 - 2020 Aug 10

.I SUMMARY:
.br
Usage of this component is demonstrated in the PlasmaC example configurations included with LinuxCNC.

.I DISCLAIMER:
.br
THE AUTHOR OF THIS SOFTWARE ACCEPTS ABSOLUTELY NO LIABILITY FOR ANY HARM OR LOSS RESULTING FROM ITS USE.

IT IS EXTREMELY UNWISE TO RELY ON SOFTWARE ALONE FOR SAFETY.

Any machinery capable of harming persons must have provisions for completely stopping all motors and moving parts etc. before persons enter any danger area.

All machinery must be designed to comply with local and national safety codes, and the author of this software can not, and does not, take any responsibility for such compliance.

.SH FUNCTIONS
.TP
\fBplasmac\fR (requires a floating-point thread)

.SH PINS
.TP
.B plasmac.arc-fail-delay\fR float in \fR
arc failure timeout (seconds)
.TP
.B plasmac.arc-ok-high\fR float in \fR
maximum voltage level for Arc OK signal [mode 0] (volts)
.TP
.B plasmac.arc-ok-in\fR bit in \fR
external arc ok input signal [mode 1 & mode 2]
.TP
.B plasmac.arc-ok-low\fR float in \fR
minimum voltage level for Arc OK signal [mode 0] (volts)
.TP
.B plasmac.arc-max-starts\fR s32 in \fR
maximum attempts at starting the arc
.TP
.B plasmac.arc-voltage-in\fR float in \fR
arc voltage input [mode 0 & mode 1] see Notes above
.TP
.B plasmac.arc-voltage-offset\fR float in \fR
offset to set arc voltage to 0 at 0 volts
.TP
.B plasmac.arc-voltage-scale\fR float in \fR
scale to convert arc_voltage input to actual volts
.TP
.B plasmac.axis-z-min-limit\fR float in \fR
axis z minimum limit, connect to ini.z.min-limit
.TP
.B plasmac.axis-z-max-limit\fR float in \fR
axis z maximum limit, connect to ini.z.max-limit
.TP
.B plasmac.axis-z-position\fR float in \fR
current z axis position, connect to joint.N.pos-fb
.TP
.B plasmac.axis-x-position\fR float in \fR
current x axis position, connect to axis.x.pos-cmd
.TP
.B plasmac.axis-y-position\fR float in \fR
current y axis position, connect to axis.y.pos-cmd
.TP
.B plasmac.breakaway\fR bit in \fR
torch breakaway switch (optional, see float_switch)
.TP
.B plasmac.spotting-start\fR bit in \fR
start a new spot, connect to spindle.2.on
.TP
.B plasmac.spotting-threshold\fR float in \fR
threshold voltage to start spotting delay
.TP
.B plasmac.spotting-time\fR float in \fR
torch off delay after spotting threshold reached
.TP
.B plasmac.consumable-change\fR bit in \fR
change consumables in torch
.TP
.B plasmac.cornerlock-enable\fR bit in \fR
enable corner lock
.TP
.B plasmac.cornerlock-threshold\fR float in \fR
corner lock threshold (% of requested feed rate), speeds below this disable THC
.TP
.B plasmac.current-velocity\fR float in \fR
current machine velocity , connect to motion.current-vel
.TP
.B plasmac.cut-feed-rate\fR float in \fR
cut feed rate, set to 0 to use feed rate from gcod file (machine units per minute)
.TP
.B plasmac.cut-height\fR float in \fR
cut height (machine units)
.TP
.B plasmac.cut-volts\fR float in \fR
cut voltage (volts)
.TP
.B plasmac.cutting-start\fR bit in \fR
start a new cut, connect to spindle.0.on
.TP
.B plasmac.external-estop\fR bit in \fR
external estop input
.TP
.B plasmac.feed-reduction\fR float in \fR
reduce adaptive feed to this percentage (connect to motion.analog-out-03)
.TP
.B plasmac.feed-override\fR float in \fR
feed override value from gui (connect to halui.feed-override.value)
.TP
.B plasmac.float-switch\fR bit in \fR
float switch input (can also act as breakaway if it actuates when torch breaks away)
.TP
.B plasmac.float-switch-travel\fR float in \fR
float switch travel (machine units)
.TP
.B plasmac.height-override\fR float in \fR
height override adjustment (volts)
.TP
.B plasmac.height-per-volt\fR float in \fR
torch height change per volt (machine units)
.TP
.B plasmac.homed\fR bit in \fR
machine is homed
.TP
.B plasmac.kerfcross-enable\fR bit in \fR
enable kerf crossing [mode 0 & mode 1]
.TP
.B plasmac.kerfcross-override\fR float in \fR
kerf crossing threshold override as a percentage
.TP
.B plasmac.lowpass-frequency\fR float in \fR
lowpass cutoff frequency for arc voltage output
.TP
.B plasmac.mesh-ignore-ok\fR bit in \fR
don't require arc ok for mesh mode
.TP
.B plasmac.mesh-enable-0\fR bit in \fR
enable mesh cutting mode input 0
.TP
.B plasmac.mesh-enable-1\fR bit in \fR
enable mesh cutting mode input 0
.TP
.B plasmac.mode\fR s32 in \fR
operating mode
.TP
.B plasmac.motion-type\fR s32 in \fR
motion type, connect to motion.motion-type
.TP
.B plasmac.move-down\fR bit in \fR
external thc down switch [mode 2])
.TP
.B plasmac.move-up\fR bit in \fR
external thc up switch [mode 2]
.TP
.B plasmac.multi-tool\fR bit in \fR
allows the use of multiple tools
.TP
.B plasmac.ohmic-probe-enable\fR bit in \fR
ohmic probe enable input
.TP
.B plasmac.ohmic-probe-offset\fR float in \fR
Z axis offset for ohmic probe (machine units)
.TP
.B plasmac.ohmic-max-attempts\fR s32 in \fR
maximum ohmic probe attempts before fallback to float switch
.TP
.B plasmac.ohmic-probe\fR bit in \fR
ohmic probe input
.TP
.B plasmac.ohmic-test\fR bit in \fR
test for shorted torch
.TP
.B plasmac.paused-motion-speed\fR float in \fR
multiplier for speed of motion when paused, from -1 to 1
.TP
.B plasmac.pause-at-end\fR float in \fR
time to pause at end of cut
.TP
.B plasmac.pid-d-gain\fR float in \fR
derivative gain input [mode 0 & mode 1]
.TP
.B plasmac.pid-i-gain\fR float in \fR
integral gain input [mode 0 & mode 1]
.TP
.B plasmac.pid-p-gain\fR float in \fR
proportional gain input [mode 0 & mode 1]
.TP
.B plasmac.pierce-delay\fR float in \fR
time required to pierce stock (seconds)
.TP
.B plasmac.pierce-height\fR float in \fR
pierce height (machine units)
.TP
.B plasmac.probe-feed-rate\fR float in \fR
probe down velocity (machine units per minute)
.TP
.B plasmac.probe-test\fR bit in \fR
probe test only
.TP
.B plasmac.probe-start-height\fR float in \fR
probe starting height
.TP
.B plasmac.program-is-idle\fR bit in \fR
program is idle, connect to halui.program.is-idle
.TP
.B plasmac.program-is-paused\fR bit in \fR
program is paused, connect to halui.program.is-paused
.TP
.B plasmac.program-is-running\fR bit in \fR
program is running, connect to halui.program.is-running
.TP
.B plasmac.puddle-jump-delay\fR float in \fR
delay move from pierce height to cut height (seconds), leave disconnected if not required
.TP
.B plasmac.puddle-jump-height\fR float in \fR
puddle jump height (percentage of pierce height), leave disconnected if not required
.TP
.B plasmac.requested-velocity\fR float in \fR
requested velocity, set by a known requested velocity or connect to motion.requested-vel
.TP
.B plasmac.restart-delay\fR float in \fR
time from arc failure till next restart attempt
.TP
.B plasmac.safe-height\fR float in \fR
requested safe traverse height (machine units)
.TP
.B plasmac.scribe-arm-delay\fR float in \fR
delay from scribe arm to scribe on
.TP
.B plasmac.scribe-on-delay\fR float in \fR
delay from scribe on to motion beginning
.TP
.B plasmac.scribe-start\fR bit in \fR
start a new scribe, connect to spindle.1.on
.TP
.B plasmac.setup-feed-rate\fR float in \fR
feed rate for moves to pierce and cut heights (machine units per minute)
.TP
.B plasmac.skip-ihs-distance\fR float in \fR
skip IHS if less than this distance from last cut
.TP
.B plasmac.thc-enable\fR bit in \fR
enable/disable thc and set the IHS skip type
.TP
.B plasmac.thc-disable\fR bit in \fR
thc disable
.TP
.B plasmac.thc-delay\fR float in \fR
delay from start of cut to THC enable (seconds)
.TP
.B plasmac.thc-feed-rate\fR float in \fR
maximum feed rate for thc (machine units per minute)
.TP
.B plasmac.thc-threshold\fR float in \fR
thc threshold (volts), changes below this have no effect
.TP
.B plasmac.torch-enable\fR bit in \fR
enable torch
.TP
.B plasmac.torch-off\fR bit in \fR
turn torch off
.TP
.B plasmac.torch-pulse-start\fR bit in \fR
torch pulse start
.TP
.B plasmac.torch-pulse-time\fR float in \fR
torch pulse time (seconds)
.TP
.B plasmac.units-per-mm\fR float in \fR
for scale calcs, connect to halui.machine.units-per-mm
.TP
.B plasmac.use-auto-volts\fR bit in \fR
use calculated voltage for thc baseline
.TP
.B plasmac.xy-feed-rate\fR float in \fR
feed-rate for consumable change
.TP
.B plasmac.x-offset\fR float in \fR
offest to apply to axis x for consumable change
.TP
.B plasmac.x-offset-current\fR float in \fR
current x axis offset, connect to axis.x.eoffset
.TP
.B plasmac.y-offset\fR float in \fR
offest to apply to axis y for consumable change
.TP
.B plasmac.y-offset-current\fR float in \fR
current z axis offset, connect to axis.y.eoffset
.TP
.B plasmac.z-offset-current\fR float in \fR
current z axis offset, connect to axis.z.eoffset
.TP
.B plasmac.adaptive-feed\fR float out \fR
for reverse-run, connect to motion.adaptive-feed
.TP
.B plasmac.arc-ok-out\fR bit out \fR
arc ok output
.TP
.B plasmac.arc-voltage-out\fR float out \fR
arc voltage output [mode 0 & mode 1]
.TP
.B plasmac.consumable-changing\fR bit out \fR
consumables are being changed
.TP
.B plasmac.cornerlock-is-locked\fR bit out \fR
corner locked indicator
.TP
.B plasmac.cut-length\fR float out \fR
length of current cut job
.TP
.B plasmac.cut-time\fR float out \fR
time of current cut job
.TP
.B plasmac.cutting-stop\fR bit out \fR
stop manual cut, connect to halui.spindle.0.stop
.TP
.B plasmac.feed-hold\fR bit out \fR
feed hold, connect to motion.feed_hold
.TP
.B plasmac.kerfcross-is-locked\fR bit out \fR
kerf crossing locked indicator [mode 0 & mode 1]
.TP
.B plasmac.led-down\fR bit out \fR
thc move down indicator
.TP
.B plasmac.led-up\fR bit out \fR
thc move up indicator
.TP
.B plasmac.offset-scale\fR float out \fR
offset scale, connect to axis.<x y z>.eoffset-scale
.TP
.B plasmac.ohmic-enable\fR bit out \fR
on only while probing
.TP
.B plasmac.pierce-count\fR s32 out \fR
number of pierce attempts
.TP
.B plasmac.probe-test-error\fR bit out \fR
minimum limit reached while pobe testing
.TP
.B plasmac.program-pause\fR bit out \fR
pause the current program, connect to halui.program.pause
.TP
.B plasmac.program-resume\fR bit out \fR
resume the currently paused program, connect to halui.program.resume
.TP
.B plasmac.program-run\fR bit out \fR
run the currently loaded program, connect to halui.program.run
.TP
.B plasmac.program-stop\fR bit out \fR
stop current program, connect to halui.program.stop
.TP
.B plasmac.safe-height-is-limited\fR bit out \fR
safe height is limited indicator
.TP
.B plasmac.scribe-arm\fR bit out \fR
arm the scribe
.TP
.B plasmac.scribe-on\fR bit out \fR
turn scribe on
.TP
.B plasmac.state-out\fR s32 out \fR
current state
.TP
.B plasmac.stop-type-out\fR s32 out \fR
current stop type
.TP
.B plasmac.thc-active\fR bit out \fR
thc status output
.TP
.B plasmac.thc-enabled\fR bit out \fR
thc is enabled
.TP
.B plasmac.torch-on\fR bit out \fR
turn torch on, connect to your torch on input
.TP
.B plasmac.x-offset-counts\fR s32 out \fR
x offset for consumable change, connect to axis.x.eoffset-counts
.TP
.B plasmac.y-offset-counts\fR s32 out \fR
y offset for consumable change, connect to axis.y.eoffset-counts
.TP
.B plasmac.xy-offset-enable\fR bit out \fR
enable x and y offsets, connect to axis.<x & y>.eoffset-enable
.TP
.B plasmac.z-offset-counts\fR s32 out \fR
z offset for height control, connect to axis.z.eoffset-counts
.TP
.B plasmac.z-offset-enable\fR bit out \fR
enable z offsets, connect to axis.z.eoffset-enable
.TP
.B plasmac.z-relative\fR float out \fR
distance of Z from last probed height
.SH PARAMETERS
.TP
.B plasmac.debug-print\fR bit rw \fR(default: \fIFALSE\fR)
print debug messages
.TP
.B plasmac.kerf-errors-max\fR s32 rw \fR(default: \fI2\fR)
allowable kerfcross threshold errors
.SH AUTHOR

Phillip A Carter
.SH LICENSE

GPLv2 or greater
